import { defineConfig } from 'vitest/config'
import Vue from '@vitejs/plugin-vue'
import VueJsx from '@vitejs/plugin-vue-jsx'

export default defineConfig({
  plugins: [
    // Vitest 支持 Vue 单文件组件（.vue）和 JSX 语法（.jsx、.tsx）
    Vue(), VueJsx()
  ],
  optimizeDeps: {  // 优化依赖
    disabled: true
  },
  test: {
    clearMocks: true,
    // 测试环境( Vitest 将在基于 jsdom 的伪浏览器环境中执行测试，从而支持对 DOM 相关逻辑进行验证)
    // jsdom 是一个用 JavaScript 实现的轻量级 DOM（文档对象模型）解析器，它可以在 Node.js 环境中模拟浏览器的 DOM 行为。它常用于前端测试场景，例如在单元测试中提供类似浏览器的环境来运行和测试依赖 DOM 的代码。
    environment: 'jsdom',
    // 测试覆盖率
    coverage: {
      include: ['packages/components/**/*'],
      exclude: [
        'packages/components/*/style/*',
        'packages/components/index.ts',
        'packages/components/*/index.ts'
      ]
    }
  }
})
